package ess.control;

public abstract class ElevatorState {
	
	public static int STATE_STOPPED = 0;
	public static int STATE_MOVING = 1;
	public static int STATE_CLOSING = 2;
	public static int STATE_CLOSED = 3;
	public static int STATE_OPENING = 4;
	public static int STATE_OPENED = 5;
	
	ElevatorProxy proxy;
	int type;
	
	public ElevatorState(ElevatorProxy proxy, int type)
	{
		this.proxy = proxy;
		this.type = type;
	}
	
	public int getType()
	{
		return type;
	}
	
	public abstract void processState();
	
	public abstract ElevatorState handleCommand(Command c);
	
}
